import { fileURLToPath, URL } from "node:url";

import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import vueJsx from "@vitejs/plugin-vue-jsx";
import prismjs from 'vite-plugin-prismjs';
// https://vitejs.dev/config/
export default defineConfig({
	base:'/',
	plugins: [vue({
		template: {
			// 添加以下内容
			compilerOptions: {
				isCustomElement: tag => tag.startsWith('ion-')
			}
		}
	}), vueJsx(), prismjs({ languages: ['json'], }),],
	build: {
		minify: "terser", // 必须开启：使用terserOptions才有效果
		chunkSizeWarningLimit:1500,
		terserOptions: {
			compress: {
				//生产环境时移除console
				drop_console: true,
				drop_debugger: true,
			},
		},
	},
	resolve: {
		alias: {
			"@": fileURLToPath(new URL("./src", import.meta.url)),
		},
	},
	css: {
		preprocessorOptions: {
			scss: {
				// additionalData: `@use "~/styles/element/index.scss" as *;`,
			},
		},
	},
	server: {
		// 跨域的写法
		// port: 8082, // 指定开发服务器端口
		// strictPort: true, // 若端口已被占用则会直接退出
		// https: false, // 启用 TLS + HTTP/2
		//使用IP能访问
		host: "0.0.0.0",
		// 热更新
		hmr: true,
		proxy: {
			"/sooi/": { // “/api” 以及前置字符串会被替换为真正域名
				target: "https://sever.sooi.top:8888", // 请求域名
				  secure: false, // 请求是否为https
				changeOrigin: true, // 是否跨域
				// rewrite: (path) => path.replace(/^\/sooi/, "sooi")
			},
			"/img": { // “/api” 以及前置字符串会被替换为真正域名
				target: "https://imgapi.cn", // 请求域名
				secure: true, // 请求是否为https
				changeOrigin: true, // 是否跨域
				rewrite: (path) => path.replace(/^\/img/, " "),
			},
			"^/api": { // “/api” 以及前置字符串会被替换为真正域名
				target: "https://v.api.aa1.cn", // 请求域名
				secure: true, // 请求是否为https
				changeOrigin: true, // 是否跨域
				rewrite: (path) => path.replace(/^\/api/, ""),
			},
			"/vip": { // “/api” 以及前置字符串会被替换为真正域名		//舔狗日记跨域
				target: "https://api.gmit.vip", // 请求域名
				secure: true, // 请求是否为https
				changeOrigin: true, // 是否跨域
				rewrite: (path) => path.replace(/^\/vip/, " "),
			},
			// 正则表达式写法：http://localhost:5173/fallback/ -> http://jsonplaceholder.typicode.com/
			'^/api/.*': {
				target: 'https://v.api.aa1.cn',
				changeOrigin: true,
				secure: true,  // https记得把secure设置为true
				rewrite: (path) => path.replace(/^\/api\//, ' '),
			},
			// 正则表达式写法：http://localhost:5173/fallback/ -> http://jsonplaceholder.typicode.com/
			'^/UomgAPI/.*': {
				target: 'https://api.uomg.com',
				changeOrigin: true,
				secure: true,  // https记得把secure设置为true
				rewrite: (path) => path.replace(/^\/UomgAPI\//, ' '),
			},


		}
	},
});
